
#include "voice.h"

#define AU_AMP_SET() GPIO_SetBits(GPIOC, GPIO_Pin_6) 
#define AU_RST_SET() GPIO_SetBits(GPIOC, GPIO_Pin_5) 
#define AU_DATA_SET() GPIO_SetBits(GPIOC, GPIO_Pin_7) 
#define AU_AMP_RESET() GPIO_ResetBits(GPIOC, GPIO_Pin_6) 
#define AU_RST_RESET() GPIO_ResetBits(GPIOC, GPIO_Pin_5) 
#define AU_DATA_RESET() GPIO_ResetBits(GPIOC, GPIO_Pin_7) 

void Voice_Init(void)
{
	GPIO_InitTypeDef GPIO_InitStruct;
	
	RCC_AHBPeriphClockCmd(RCC_AHBPeriph_GPIOC, ENABLE);
	GPIO_InitStruct.GPIO_Pin = /*GPIO_Pin_4|*/GPIO_Pin_5 |GPIO_Pin_6 | GPIO_Pin_7;
	GPIO_InitStruct.GPIO_Mode = GPIO_Mode_OUT;
	GPIO_InitStruct.GPIO_OType = GPIO_OType_PP;
	GPIO_InitStruct.GPIO_Speed =GPIO_Speed_Level_3;
	GPIO_Init(GPIOC, &GPIO_InitStruct);
}

void Speak_Vioce(uint8_t Number)
{
	uint8_t i;
	
	AU_AMP_SET();
	AU_RST_RESET();
	AU_DATA_RESET();
	
	AU_RST_SET();
	delay_ms(10);
	AU_RST_RESET();
	delay_ms(10);
	
	for(i=0;i<Number;i++)
	{
		AU_DATA_SET();
		delay_ms(1);
		AU_DATA_RESET();
		delay_ms(1);
	}
}


void xQueueSpeakVoice(uint8_t num)
{
	uint8_t buzzer_state = num;
	xQueueSendToBack(pQueue_Voice,(void *)&buzzer_state,0);
}

